<?php
/*
	+-----------------------------------------------------------------------------------------+
	| Projeto MonitoraSUS                                                                     |
	+-----------------------------------------------------------------------------------------+
	| Copyright (c) 2005-2008 Secretaria Municipal de Sa�de de Belo Horizonte / Prodabel      |
	|                                                                                         |
	| Analista Respons�vel: Hugo Nathaniel Rodrigues <hugonr@gmail.com>, <hugo@pbh.gov.br> |  
	|                       Consultor - GSFS - Prodabel / SMSA                                |
	| Departamento Respons�vel - SMSA: GPLD - Paulinho <pauloces@pbh.gov.br>                  |
	| Departamento Respons�vel - Prodabel: GSFS - Ricardo Monteiro <monteiro@pbh.gov.br>      |
	| Analista de Informa��o: Marcone <marcone.costa@pbh.gov.br>                              |
	+-----------------------------------------------------------------------------------------+
*/
session_start();
$unidadesaude = $_GET["unidadesaude"];
if ($unidadesaude == "")
{
	$unidadesaude = 310620;
	$tipounidade = "central";	
}

include ("../classes/FusionCharts/FusionCharts.php");
include ("../dados/inc.config.php");
include ("../sistema/inc.convertcharset.php");
$string_conn = "host=$servidorbanco user=$loginbanco password=$senhabanco dbname=$bancodedados";
$conexao = pg_connect($string_conn);
// $conexao = mssql_connect($servidorbanco, $loginbanco, $senhabanco);
// $banco = mssql_select_db($bancodedados, $conexao);
$indicador = $_GET["indicador"];
$titulo = "";
if ($titulo == ""){
	$titulo = "Gr�fico";
}
$titulox = $_GET["titulox"];
if ($titulox == ""){
	$titulox = "Per�odo";
}
$tituloy = $_GET["tituloy"];
if ($tituloy == ""){
	$tituloy = "Valor";
}
$sql = "select * from monitorasus.indicadores i " ;
$sql .= " left join monitorasus.indicadores_manuais im on (i.num_indicador = im.num_indicador) ";		
$sql .= " where i.situacao = 'A' and im.situacao = 'A' and i.num_indicador = $indicador";
$resultado = pg_query( $sql);
if (pg_fetch_result($resultado, 0, "des_indicador") != ""){
	$titulo = utf8_decode(str_replace("�", "o.", pg_fetch_result($resultado, 0, "des_indicador")));
}
$mostrarnumerador = ""; //pg_fetch_result($resultado,0,"mostrarnumerador");
$titulonumerador = ""; // codificar(pg_fetch_result($resultado,0,"titulonumerador"));

$tipoorigem = pg_fetch_result($resultado, 0, "tipoorigem");
if ($tipoorigem == "")
{
	$tipoorigem = "2"; // banco de dados
}

$vtabelaperiodoindicador = pg_fetch_result($resultado, 0, "tabelaperiodoindicador");
if ($vtabelaperiodoindicador == ""){
	$vtabelaperiodoindicador = "mes";
}
$titulox = $vtabelaperiodoindicador;
$sql = "select periodo, valor from " . $_SESSION["banco"] . ".indicador_$vtabelaperiodoindicador where valor is not null and num_indicador = $indicador";

if ($tipoorigem=="2")
{
	$sql = "select r.codigo_sexo, case when s.codigo = 0 then '' else s.sexo end as sexo, r.codigo_faixa_etaria, 
					fe.descritivo, r.referencia as periodo, r.resultado as valor, r.codigo_sexo, r.codigo_faixa_etaria, r.codigo_periodicidade 
					from resultados r 
					inner join configuracao_indicadores ci on r.codigo_configuracao=ci.codigo 
					inner join faixa_etaria fe on fe.codigo_configuracao =ci.codigo and r.codigo_faixa_etaria = fe.codigo 
					left join monitorasus.sexo s on (s.codigo = r.codigo_sexo and s.codigo<>0) 
					where r.codigo_periodicidade <>1 and r.cod_unsa = " . $unidadesaude . " and ci.num_indicador = " . $indicador . " 
					order by r.codigo_sexo, r.codigo_faixa_etaria, r.referencia";
}


$bar_data=array();
$matriz = array();
$contador = 0;



$cor[0] = "AFD8F8";
$cor[1] = "F6BD0F";
$cor[3] = "8BBA00";
$cor[4] = "FF8E46";
$cor[5] = "008E8E";
$cor[6] = "D64646";
$cor[7] = "8E468E";
$cor[8] = "588526";
$cor[9] = "B3AA00";
$cor[10] = "008ED6";
$cor[11] = "9D080D";
$cor[12] = "A186BE";

$mes[1] = "Jan";
$mes[2] = "Fev";
$mes[3] = "Mar";
$mes[4] = "Abr";
$mes[5] = "Mai";
$mes[6] = "Jun";
$mes[7] = "Jul";
$mes[8] = "Ago";
$mes[9] = "Set";
$mes[10] = "Out";
$mes[11] = "Nov";
$mes[12] = "Dez";


$contadorcor = 0;
if (($vtabelaperiodoindicador != "ano") || ($tipoorigem=="2")){ // pode ser mensal ou banco de dados

	if ($tipoorigem=="2") // banco de dados
	{
		$sql = "select r.codigo_sexo, case when s.codigo = 0 then '' else s.sexo end as sexo, r.codigo_faixa_etaria, 
						fe.descritivo, r.referencia as ano, r.referencia as periodo, r.resultado as valor, r.codigo_sexo, r.codigo_faixa_etaria, r.codigo_periodicidade 
						from resultados r 
						inner join configuracao_indicadores ci on r.codigo_configuracao=ci.codigo 
						inner join faixa_etaria fe on fe.codigo_configuracao =ci.codigo and r.codigo_faixa_etaria = fe.codigo 
						left join monitorasus.sexo s on (s.codigo = r.codigo_sexo and s.codigo<>0) 
						where r.codigo_periodicidade <>1 and r.cod_unsa = " . $unidadesaude . " and ci.num_indicador = " . $indicador . " 
						order by r.codigo_sexo, r.codigo_faixa_etaria, r.referencia";
		$resultado = pg_query( $sql);
		$data = "<graph caption='$titulo' xAxisName='$titulox' yAxisName='$tituloy' decimalPrecision='2' formatNumberScale='0'>";
		$contadorcor = 0;
		while ($rs = pg_fetch_array($resultado)){
			$Periodo = $rs["ano"];
			$Valor = $rs["valor"];
			$data .= "<set name='" . $Periodo . "' value='" . $rs["valor"] . "' color='" . $cor[$contadorcor] . "' />";
			if ($contadorcor==12){
				$contadorcor = 0;
			} else {
				$contadorcor = $contadorcor+1;
			}
			$contador = $contador + 1;
		}
		$data .= "</graph>";
		echo renderChartHTML("../classes/FusionCharts/FCF_Column3D.swf", "", $data,  "Gr�fico", 600, 300);
		
	} else {	
		$sql2 = "select distinct ano from " . $_SESSION["banco"] . ".indicador_$vtabelaperiodoindicador where valor is not null and num_indicador = $indicador order by ano";
		$resultado2 = pg_query( $sql2);
		
		while ($rs2 = pg_fetch_array($resultado2)){
			$sql = "select periodo, valor, numeronum from indicador_$vtabelaperiodoindicador where valor is not null and num_indicador = $indicador and ano=" . $rs2["ano"];
			$resultado = pg_query( $sql);
			$tituloano = $titulo . " / " . $rs2["ano"];
			if ($mostrarnumerador == "S"){
				if ($titulonumerador != ""){
					$tituloano = $titulonumerador . " / " . $rs2["ano"];
				}
			}
	
			$data = "<graph caption='$tituloano' xAxisName='$titulox' yAxisName='$tituloy' decimalPrecision='2' formatNumberScale='0'>";
			$contadorcor = 0;
			while ($rs = pg_fetch_array($resultado)){
				$Periodo = $rs["periodo"];
				if ($vtabelaperiodoindicador == "mes"){
					$Periodo = $mes[$rs["periodo"]];
				}
				if ($mostrarnumerador == "S"){
					$Valor = $rs["numeronum"];
				} else {
					$Valor = $rs["valor"];
				}
				$data .= "<set name='" . $Periodo . "' value='" . $Valor . "' color='" . $cor[$contadorcor] . "' />";
				if ($contadorcor==12){
					$contadorcor = 0;
				} else {
					$contadorcor = $contadorcor+1;
				}
				$contador = $contador + 1;
			}
			$data .= "</graph>";
			echo renderChartHTML("../classes/FusionCharts/FCF_Column3D.swf", "", $data,  "Gr�fico", 600, 300);
			// FCF_Column3D.swf
		}
	} // if tipoorigem = 2
} else {
	$sql = "select ano, periodo, valor from " . $_SESSION["banco"] . ".indicador_$vtabelaperiodoindicador where valor is not null and valor <> 0 and num_indicador = $indicador";
	$resultado = pg_query( $sql);
	$data = "<graph caption='$titulo' xAxisName='$titulox' yAxisName='$tituloy' decimalPrecision='2' formatNumberScale='0'>";
	$contadorcor = 0;
	while ($rs = pg_fetch_array($resultado)){
		$Periodo = $rs["ano"];
		$Valor = $rs["valor"];
		$data .= "<set name='" . $Periodo . "' value='" . $rs["valor"] . "' color='" . $cor[$contadorcor] . "' />";
		if ($contadorcor==12){
			$contadorcor = 0;
		} else {
			$contadorcor = $contadorcor+1;
		}
		$contador = $contador + 1;
	}
	$data .= "</graph>";
	echo renderChartHTML("../classes/FusionCharts/FCF_Column3D.swf", "", $data,  "Gr�fico", 600, 300);

}


if ($vtabelaperiodoindicador != "ano"){

	$sql = "select ano, periodo, valor from indicador_ano where valor is not null and valor <> 0 and num_indicador = $indicador";

	$resultado = pg_query( $sql);
	if (pg_num_rows($resultado)>0){
		$data = "<graph caption='$titulo' xAxisName='Ano' yAxisName='$tituloy' decimalPrecision='2' formatNumberScale='0'>";
		$contadorcor = 0;
		while ($rs = pg_fetch_array($resultado)){
			$Periodo = $rs["ano"];
			$Valor = $rs["valor"];
			$data .= "<set name='" . $Periodo . "' value='" . $rs["valor"] . "' color='" . $cor[$contadorcor] . "' />";
			if ($contadorcor==12){
				$contadorcor = 0;
			} else {
				$contadorcor = $contadorcor+1;
			}
			$contador = $contador + 1;
		}
		$data .= "</graph>";
		echo renderChartHTML("../classes/FusionCharts/FCF_Column3D.swf", "", $data,  "Gr�fico", 600, 300);
	}	
}




?>


